home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / avr32 / include / asm / cache.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  976 b   |  39 lines

  1. #ifndef __ASM_AVR32_CACHE_H
  2. #define __ASM_AVR32_CACHE_H
  3.  
  4. #define L1_CACHE_SHIFT 5
  5. #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
  6.  
  7. /*
  8.  * Memory returned by kmalloc() may be used for DMA, so we must make
  9.  * sure that all such allocations are cache aligned. Otherwise,
  10.  * unrelated code may cause parts of the buffer to be read into the
  11.  * cache before the transfer is done, causing old data to be seen by
  12.  * the CPU.
  13.  */
  14. #define ARCH_KMALLOC_MINALIGN    L1_CACHE_BYTES
  15.  
  16. #ifndef __ASSEMBLER__
  17. struct cache_info {
  18.     unsigned int ways;
  19.     unsigned int sets;
  20.     unsigned int linesz;
  21. };
  22. #endif /* __ASSEMBLER */
  23.  
  24. /* Cache operation constants */
  25. #define ICACHE_FLUSH        0x00
  26. #define ICACHE_INVALIDATE    0x01
  27. #define ICACHE_LOCK        0x02
  28. #define ICACHE_UNLOCK        0x03
  29. #define ICACHE_PREFETCH        0x04
  30.  
  31. #define DCACHE_FLUSH        0x08
  32. #define DCACHE_LOCK        0x09
  33. #define DCACHE_UNLOCK        0x0a
  34. #define DCACHE_INVALIDATE    0x0b
  35. #define DCACHE_CLEAN        0x0c
  36. #define DCACHE_CLEAN_INVAL    0x0d
  37.  
  38. #endif /* __ASM_AVR32_CACHE_H */
  39.